# coding:utf-8
from pyspark import SparkConf, SparkContext
import os

os.environ['JAVA_HOME'] = '/server/jdk'

if __name__ == '__main__':
    conf = SparkConf().setAppName('test').setAppName('local[*]')
    sc = SparkContext(conf=conf)

    rdd1 = sc.parallelize([(1001,'张三'),(1002,'李四'),(1003,'王五'),(1004,'赵六')])
    rdd2 = sc.parallelize([(1001,'销售部'),(1002,'科技部')])

    # 通过join算子进行rdd的关联
    # 对于join算子来说，关联条件按照二元元组的key进行关联
    print(rdd1.join(rdd2).collect())
    print(rdd2.join(rdd1).collect())

    # 左外连接
    print('左外连接',rdd1.leftOuterJoin(rdd2).collect())   #以左边的rdd显示全为主
    # 右外连接
    print('右外连接',rdd1.rightOuterJoin(rdd2).collect())  #以右边的rdd显示全为住